// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "src/builtins/builtins-utils.h"
#include "src/builtins/builtins.h"
#include "src/counters.h"
#include "src/interface-descriptors.h"
#include "src/objects-inl.h"

namespace v8 {
namespace internal {

    BUILTIN(Illegal)
    {
        UNREACHABLE();
    }

    BUILTIN(EmptyFunction) { return ReadOnlyRoots(isolate).undefined_value(); }

    BUILTIN(UnsupportedThrower)
    {
        HandleScope scope(isolate);
        THROW_NEW_ERROR_RETURN_FAILURE(isolate,
            NewError(MessageTemplate::kUnsupported));
    }

    BUILTIN(StrictPoisonPillThrower)
    {
        HandleScope scope(isolate);
        THROW_NEW_ERROR_RETURN_FAILURE(
            isolate, NewTypeError(MessageTemplate::kStrictPoisonPill));
    }

} // namespace internal
} // namespace v8
